#ifndef _MAP_GENERATOR_H
#define _MAP_GENERATOR_H

#include "game\Map.h"
#include "common\Random.h"
#include <vector>

struct node
{
	Vec p;
	int v;
};

class MapGenerator
{
public:
	void generateCaveMap(Map* m);
	void generateDungeonMap(Map* m);
private:
	bool addRoom(Map* m, std::vector<node> &nodes, Vec p, Vec size);
	void makeCorridors(Map* m, std::vector<node> nodes);
  bool addStairs(Map* m);
  Random RNG;
};

#endif